﻿//1287. 有序数组中出现次数超过25 % 的元素
//给你一个非递减的 有序 整数数组，已知这个数组中恰好有一个整数，它的出现次数超过数组元素总数的 25 % 。
//请你找到并返回这个整数


class Solution {
public:
    int findSpecialInteger(vector<int>& arr)
    {
        int n = arr.size();
        int x = n / 4 + 1;
        // arr[0] arr[x] arr[x*2]  
        for (int i = 0; i < n; i += x)
        {
            auto iter_l = lower_bound(arr.begin(), arr.end(), arr[i]);
            auto iter_r = upper_bound(arr.begin(), arr.end(), arr[i]);
            if (iter_r - iter_l >= x)
            {
                return arr[i];
            }
        }
        return -1;
    }
};